package com.ruoyi.safe.mapper;

import com.ruoyi.safe.domain.BizEducate;
import com.ruoyi.safe.domain.BizEducateClass;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 班前教育Mapper接口
 *
 * @author buxi
 * @date 2023-12-21
 */

@Mapper
public interface BizEducateMapper {

    /**
     * 查询班前教育
     *
     * @param id 班前教育主键
     * @return 班前教育
     */
    BizEducate selectBizEducateById(Long id);

    /**
     * 查询班前教育列表
     *
     * @param bizEducate 班前教育
     * @return 班前教育集合
     */
    List<BizEducate> selectBizEducateList(BizEducate bizEducate);

    /**
     * 新增班前教育
     *
     * @param bizEducate 班前教育
     * @return 结果
     */
    int insertBizEducate(BizEducate bizEducate);

    /**
     * 修改班前教育
     *
     * @param bizEducate 班前教育
     * @return 结果
     */
    int updateBizEducate(BizEducate bizEducate);

    /**
     * 删除班前教育
     *
     * @param id 班前教育主键
     * @return 结果
     */
    int deleteBizEducateById(Long id);

    /**
     * 批量删除班前教育
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    int deleteBizEducateByIds(Long[] ids);

    /**
     * 批量删除教育班级关联
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    int deleteBizEducateClassByEducateIds(Long[] ids);

    /**
     * 批量新增教育班级关联
     *
     * @param bizEducateClassList 教育班级关联列表
     * @return 结果
     */
    int batchBizEducateClass(List<BizEducateClass> bizEducateClassList);


    /**
     * 通过班前教育主键删除教育班级关联信息
     *
     * @param id 班前教育ID
     * @return 结果
     */
    int deleteBizEducateClassByEducateId(Long id);

    /**
     * 通过班前教育主键批量查询教育班级关联信息
     *
     * @param ids 班前教育ID
     * @return 结果
     */
    List<BizEducateClass> selectBizEducateClassByEducateIds(@Param("ids") List<Long> ids);

}
